package cn.edu.lcu.cs.designpattern.strategy.log;

public class LogContext {
    private LogStrategy strategy;

    public void log(String message) {
        strategy = new DbLog(); // 日志默认输出到数据库
        try {
            // 日志输出到数据库时可能会发生异常
            strategy.log(message);
        } catch (Exception e) {
            // 如果日志写数据库时发生了异常
            System.out.println(e.getMessage()); // 打印错误信息
            strategy = new FileLog(); // 启用容错机制，创建文件日志
            strategy.log(message); // 将日志输出到文件
        }
    }
}
